package com.atguigu.lease.common.context;

/**
 * @Author yaya
 * @Create 2024/6/4 19:18
 * Description:存储登陆用户ID的threadLocal工具类
 *  存储在threadLocal中可以保证：整个路由被调用的过程中，处于同一个线程的各个组件都可以使用线程中存储的数据
 *  方便同一线程中的数据通信
 */
public class LoginUserContext {
    private static final ThreadLocal<Long> userThreadLocal = new ThreadLocal<>();

    public static void setUserThreadLocal(Long userId){
        userThreadLocal.set(userId);
    }

    public static Long getUserThreadLocal(){
        return userThreadLocal.get();
    }

    public static void clear(){
        userThreadLocal.remove();
    }
}
